#pragma once
#include <glm/glm.hpp>

namespace PhysLeo {

/**
 * camera interface
 */
class CameraInterface {
public:
    /**
     * default virtual destructor
     */
    virtual ~CameraInterface() = default;

	virtual float getFov() = 0;
	virtual float getAspect() = 0;
	virtual float getNearClip() = 0;
	virtual float getFarClip() = 0;

	virtual glm::vec3 getPosition() = 0;
	virtual glm::vec3 getFocusPosition() = 0;
	virtual glm::vec3 getUpDirection() = 0;
};

}